package com.rabbiter.oes.entity;   //数据统一封装和传输的重要角色


public class ApiResult<T> {
    /**
     * 错误码，表示一种错误类型
     * 请求成功，状态码为200
     */
    private int code;

    /**
     * 对错误代码的详细解释
     */
    private String message;

    /**
     * 返回的结果包装在value中，value可以是单个对象
     */
    private T data;

    public ApiResult() {  //无参构造函数
    }

    public ApiResult(int code, String message, T data) {  //有参构造函数
        this.code = code;  //code表示 API 响应的状态码，用于标识请求的处理结果
        this.message = message;  //message是对状态码的详细描述，用于给前端或调用者提供更明确的信息
        this.data = data;   //是一个泛型参数，代表实际返回的数据。可以是任意类型的对象，比如一个实体类对象、一个列表等
    }

    public int getCode() {
        return code;
    }  //这是一个 setter 方法，用于设置 ApiResult 对象的 code 属性值

    public void setCode(int code) {
        this.code = code;
    }

    public String getMessage() {
        return message;
    }   ///这是一个 getter 方法，用于获取 ApiResult 对象的 message 属性值

    public void setMessage(String message) {
        this.message = message;
    }

    public T getData() {
        return data;
    }  //这是一个 getter 方法，用于获取 ApiResult 对象的 data 属性值，data 是泛型类型，所以参数类型为 T

    public void setData(T data) {
        this.data = data;
    }
}
//getter 方法通常用于外部类访问私有成员变量，保证数据的封装性
//setter 方法允许外部类修改私有成员变量的值，同时可以在方法内部添加一些逻辑来确保数据的合法性。